/**
 * 
 */
package t4j.holding;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.PriorityQueue;
import java.util.Random;

/**
 * @author sz
 *
 * create time：2012-9-29
 */
public class PriorityQueueDemo {

	public static void main(String[] args) {
		PriorityQueue<Integer> priorityQueue = new PriorityQueue<Integer>();
		
		Random rand = new Random(47);
		
		for(int i = 0 ; i < 10 ; i++)
			priorityQueue.offer(rand.nextInt(i + 10 ));
		
		QueueDemo.printQ(priorityQueue);
		
		List<Integer> ints = Arrays.asList(25,22,20,18,14,9,3,1,1,2,3,9,14,18,21,23,25);
		
		priorityQueue = new PriorityQueue<Integer>(ints);
		
		QueueDemo.printQ(priorityQueue);
		
		priorityQueue = new PriorityQueue<Integer>(ints.size(),Collections.reverseOrder());
		
		priorityQueue.addAll(ints);
		
		QueueDemo.printQ(priorityQueue);
		
		String fact = "EDUCATION SHOULD ESCHEW OBFUSCATION";
		List<String> strings = Arrays.asList(fact.split(""));
		
		PriorityQueue<String> stringPQ = new PriorityQueue<String>(strings);
		
		QueueDemo.printQ(stringPQ);
		
		stringPQ = new PriorityQueue<String>(strings.size(),Collections.reverseOrder());
		
		stringPQ.addAll(strings);
		
		QueueDemo.printQ(stringPQ);
		
	}
}
